<?php

namespace app\admin\validate\template;

use think\Validate;

class Template extends Validate
{
    /**
     * 验证规则
     */
    protected $rule = [
        'name' => 'require',
        'product_id' => 'require|checkProductId',
        'product_name' => 'require',
//        'description' => 'require',
        'price' => 'require',
        'template_id' => 'require|checkTemplateId',
    ];
    /**
     * 提示消息
     */
    protected $message = [
        'name.require' => '请填写模板名称',
        'product_id.require' => '请填写产品ID',
        'template_id.require' => '请填写模板ID',
        'product_name.require' => '请填写商品名',
//        'description.require' => '请填写商品描述',
        'price.require' => '请填写价格',
    ];
    /**
     * 验证场景
     */
    protected $scene = [
        'add' => [],
        'edit' => [],
        'reviewTemplate' => [
            'name',
            'product_id',
            'product_name',
            'description',
            'price',
        ],
        'getTemplateReviewInfo' => ['template_id'],
        'editTemplateInfo' => [
            'template_id',
            'name',
            'product_name',
            'description',
            'price',
        ]
    ];

    public function checkProductId($value, $rule, $data)
    {
        $product = \app\admin\model\Product::where('id', $value)->find();
        if (!$product) {
            return '产品不存在';
        }
        return true;
    }

    public function checkTemplateId($value)
    {
        $template = \app\admin\model\template\Template::where('id', $value)->find();
        if (!$template) {
            return '模板不存在';
        }
        return true;
    }

}
